<?php

class Auth_controller extends Base_controller
{
	function __construct($registry)
	{
		parent::__construct($registry);
		
		$this->registry->usuario_model = new Usuario_model();
		$this->registry->departamento_model = new Departamento_model();
		$this->registry->pais_model = new Pais_model();
	}
	
	function index()
	{
		
			
	}
	function mostrarRegistro()
	{
		$this->registry->template->departamentos = $this->registry->departamento_model->getAll();
		$this->registry->template->paises = $this->registry->pais_model->getAll();
		
		$this->registry->template->mensaje_error = "";
		$this->registry->template->mensaje_exito = "";
		
		$this->registry->template->view = 'registro';
		$this->registry->template->show('layout');
	}
	function autenticar()
	{
		$login_email = $_POST['login_email'];
		$login_password = sha1($_POST['login_password']);
		 
		$usuario = $this->registry->usuario_model->getByEmailYPassword($login_email, $login_password);
		
		if(!$usuario)
		{
			http_response_code(500);
			echo "El usuario no existe";
		}
		else
		{
			if ($usuario['activo'] != "1")
			{
				echo "El usuario se encuentra Bloqueado";
			}
			else 
			{
				set_user_auth($usuario);
			}			
		}			
	}
	
	function cerrar_sesion()
	{
		set_user_auth(null);
	}
	
	function registrar()
	{			
		// Preguntaremos si se han enviado ya las variables necesarias
		if (isset($_POST["nombres"])) 
		{
			//Traigo los valores de la vista
			$username = $_POST["nombres"];
			$email = $_POST["email"];
			$tipo = $_POST["tipo"];
			$apellido = $_POST["apellido"];
			$documento = $_POST["documento"];
			$pais_fk = $_POST["pais_fk"];
			$departamento_fk = $_POST["departamento_fk"];
			$barrio = $_POST["barrio"];
			$direccion = $_POST["direccion"];
			$celular = $_POST["celular"];
			$coordenadas = $_POST["coordenadas"];
			$password = $_POST["password"];
			$cpassword = $_POST["cpassword"];
			// Hay campos en blanco
			if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) 
			{
				$this->registry->template->mensaje_error = "Hay Campos Vacios";
				$this->registry->template->mensaje_exito ="";
				
			}
			else
			{
				if ($password != $cpassword)
				{
					$this->registry->template->mensaje_error = "Las Contrase&ntildeas no cohinciden";
					$this->registry->template->mensaje_exito ="";
				}
				else
				{
					$username_exist = $this->registry->usuario_model->getByNombre($username);
				
					$email_exist = $this->registry->usuario_model->getByEmail($email);
					
					if ($email_exist > 0 || $username_exist>0)
					{
						$this->registry->template->mensaje_error = "EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
						$this->registry->template->mensaje_exito ="";
					}
					else
					{
						
						$usuario_model = new Usuario_model();
						$usuario_model->nombres = $username;
						$usuario_model->email = $email;
						$usuario_model->apellidos = $apellido;
						$usuario_model->barrio = $barrio;
						$usuario_model->celular = $celular;
						$usuario_model->coordenadas = $coordenadas;
						$usuario_model->departamento_fk = $departamento_fk;
						$usuario_model->direccion = $direccion;
						$usuario_model->documento = $documento;
						$usuario_model->pais_fk = $pais_fk;
						$usuario_model->password = sha1($password);
						$usuario_model->tipo = $tipo;
						$usuario_model->activo = '1';
						//Todo parece correcto procedemos con la inserccion
						$usuario_model->insert();
						
						
						$this->registry->template->mensaje_exito = "El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
						$this->registry->template->mensaje_error ="";
// 						$this->index();
					}
				}
			}
		}
		 
		$this->registry->template->departamentos = $this->registry->departamento_model->getAll();
		$this->registry->template->paises = $this->registry->pais_model->getAll();
		
		$this->registry->template->view = 'registro';
		$this->registry->template->show('layout');
	}
}

?>